home *** CD-ROM | disk | FTP | other *** search
/ Macwelt 1 / Macwelt DVD 1.toast / Palm-Software / Emulator 3.2 / Perl / PoserRPC.pl < prev    next >
Encoding:
Text File  |  2001-06-03  |  9.8 KB  |  313 lines

  1. ########################################################################
  2. #
  3. #    File:            PoserRPC.pl
  4. #
  5. #    Purpose:        Scrap file for testing Poser's RPC mechanism
  6. #
  7. #    Description:    This file contains a hodgepodge of scripts and
  8. #                    commands used to test out parts of Poser's RPC.
  9. #                    Don't take anything in this file too seriously;
  10. #                    it's provided only for completeness' sake.
  11. #
  12. ########################################################################
  13.  
  14. use EmRPC;            # EmRPC::OpenConnection, CloseConnection
  15. use EmFunctions;
  16. use EmUtils;        # Wait, TapPen, TapButton
  17.  
  18. use constant hostSignalReserved            => 0;
  19. use constant hostSignalIdle                => 1;
  20. use constant hostSignalQuit                => 2;
  21. use constant hostSignalSessionStarted    => 3;
  22. use constant hostSignalSessionStopped    => 4;
  23.  
  24. EmRPC::OpenConnection(6415, "localhost");
  25.  
  26. if (1)
  27. {
  28.     my ($err, $result) = HwrDisplayAttributes (0, hwrDispType, "xxxx");
  29.     print "hwrDispType", ($err ? ": err = $err" : (" = ", $result)), "\n";
  30.  
  31.     my ($err, $result) = HwrDisplayAttributes (0, hwrDispRev, "xx");
  32.     print "hwrDispRev", ($err ? ": err = $err" : (" = ", unpack ("n", $result))), "\n";
  33.  
  34.     my ($err, $result) = HwrDisplayAttributes (0, hwrDispVers, "xx");
  35.     print "hwrDispVers", ($err ? ": err = $err" : (" = ", unpack ("n", $result))), "\n";
  36.  
  37.     my ($err, $result) = HwrDisplayAttributes (0, hwrDispAllDepths, "xx");
  38.     print "hwrDispAllDepths", ($err ? ": err = $err" : (" = ", unpack ("n", $result))), "\n";
  39.  
  40.     my ($err, $result) = HwrDisplayAttributes (0, hwrDispMaxDepth, "xx");
  41.     print "hwrDispMaxDepth", ($err ? ": err = $err" : (" = ", unpack ("n", $result))), "\n";
  42.  
  43.     my ($err, $result) = HwrDisplayAttributes (0, hwrDispBootDepth, "xx");
  44.     print "hwrDispBootDepth", ($err ? ": err = $err" : (" = ", unpack ("n", $result))), "\n";
  45.  
  46.     my ($err, $result) = HwrDisplayAttributes (0, hwrDispMaxGrays, "xx");
  47.     print "hwrDispMaxGrays", ($err ? ": err = $err" : (" = ", unpack ("n", $result))), "\n";
  48.  
  49.     my ($err, $result) = HwrDisplayAttributes (0, hwrDispHorizontal, "xx");
  50.     print "hwrDispHorizontal", ($err ? ": err = $err" : (" = ", unpack ("n", $result))), "\n";
  51.  
  52.     my ($err, $result) = HwrDisplayAttributes (0, hwrDispVertical, "xx");
  53.     print "hwrDispVertical", ($err ? ": err = $err" : (" = ", unpack ("n", $result))), "\n";
  54.  
  55.     my ($err, $result) = HwrDisplayAttributes (0, hwrDispVRAMBaseAddr, "xxxx");
  56.     print "hwrDispVRAMBaseAddr", ($err ? ": err = $err" : (" = ", unpack ("N", $result))), "\n";
  57.  
  58.     my ($err, $result) = HwrDisplayAttributes (0, hwrDispVRAMSize, "xxxx");
  59.     print "hwrDispVRAMSize", ($err ? ": err = $err" : (" = ", unpack ("N", $result))), "\n";
  60.  
  61.     my ($err, $result) = HwrDisplayAttributes (0, hwrDispColor, "xx");
  62.     print "hwrDispColor", ($err ? ": err = $err" : (" = ", unpack ("n", $result))), "\n";
  63.  
  64.     my ($err, $result) = HwrDisplayAttributes (0, hwrDispName, pack ("x32"));
  65.     print "hwrDispName", ($err ? ": err = $err" : (" = ", $result)), "\n";
  66.  
  67.     my ($err, $result) = HwrDisplayAttributes (0, hwrDispBaseAddr, "xxxx");
  68.     print "hwrDispBaseAddr", ($err ? ": err = $err" : (" = ", unpack ("N", $result))), "\n";
  69.  
  70.     my ($err, $result) = HwrDisplayAttributes (0, hwrDispDepth, "xx");
  71.     print "hwrDispDepth", ($err ? ": err = $err" : (" = ", unpack ("n", $result))), "\n";
  72.  
  73.     my ($err, $result) = HwrDisplayAttributes (0, hwrDispWidth, "xx");
  74.     print "hwrDispWidth", ($err ? ": err = $err" : (" = ", unpack ("n", $result))), "\n";
  75.  
  76.     my ($err, $result) = HwrDisplayAttributes (0, hwrDispHeight, "xx");
  77.     print "hwrDispHeight", ($err ? ": err = $err" : (" = ", unpack ("n", $result))), "\n";
  78.  
  79.     my ($err, $result) = HwrDisplayAttributes (0, hwrDispRowBytes, "xx");
  80.     print "hwrDispRowBytes", ($err ? ": err = $err" : (" = ", unpack ("n", $result))), "\n";
  81.  
  82.     my ($err, $result) = HwrDisplayAttributes (0, hwrDispBacklight, "x");
  83.     print "hwrDispBacklight", ($err ? ": err = $err" : (" = ", unpack ("c", $result))), "\n";
  84.  
  85.     my ($err, $result) = HwrDisplayAttributes (0, hwrDispBrightness, "x");
  86.     print "hwrDispBrightness", ($err ? ": err = $err" : (" = ", unpack ("c", $result))), "\n";
  87.  
  88.     my ($err, $result) = HwrDisplayAttributes (0, hwrDispContrast, "x");
  89.     print "hwrDispContrast", ($err ? ": err = $err" : (" = ", unpack ("c", $result))), "\n";
  90.  
  91.     my ($err, $result) = HwrDisplayAttributes (0, hwrDispDbgIndicator, "xx");
  92.     print "hwrDispDbgIndicator", ($err ? ": err = $err" : (" = ", unpack ("n", $result))), "\n";
  93.  
  94.     my ($err, $result) = HwrDisplayAttributes (0, hwrDispEndAddr, "xxxx");
  95.     print "hwrDispEndAddr", ($err ? ": err = $err" : (" = ", unpack ("N", $result))), "\n";
  96.  
  97.     my ($err, $result) = HwrDisplayAttributes (0, hwrDispBufferMask, "xxxx");
  98.     print "hwrDispBufferMask", ($err ? ": err = $err" : (" = ", unpack ("N", $result))), "\n";
  99.  
  100.     my ($err, $result) = HwrDisplayAttributes (0, hwrDispResolutionX, "xxxx");
  101.     print "hwrDispResolutionX", ($err ? ": err = $err" : (" = ", unpack ("N", $result))), "\n";
  102.  
  103.     my ($err, $result) = HwrDisplayAttributes (0, hwrDispResolutionY, "xxxx");
  104.     print "hwrDispResolutionY", ($err ? ": err = $err" : (" = ", unpack ("N", $result))), "\n";
  105.  
  106.     my ($err, $result) = HwrDisplayAttributes (0, hwrDispMemAccessOK, "x");
  107.     print "hwrDispMemAccessOK", ($err ? ": err = $err" : (" = ", unpack ("c", $result))), "\n";
  108. }
  109.  
  110. if (0)
  111. {
  112.     TapButtonSync("OK");
  113. }
  114.  
  115. if (0)
  116. {
  117.     Wait();
  118.     $err = HostSessionClose ("");    # Don't save
  119.     die "$err" if $err;
  120.     $err = HostSessionQuit ();
  121.     die "$err" if $err;
  122. }
  123.  
  124.  
  125. if (0)
  126. {
  127.     my ($err, $signal);
  128.  
  129.     ########################################################################
  130.     print "Waiting for idle\n";
  131.  
  132.     do {
  133.         ($err, $signal) = HostSignalWait (0x7fffffff);
  134.         if ($err)
  135.         {
  136.             HostSignalResume ();
  137.             die "Error $err while waiting for hostSignalIdle";
  138.         }
  139.     } while ($signal != hostSignalIdle);
  140.  
  141.     ########################################################################
  142.     print "Closing session\n";
  143.  
  144.     $err = HostSessionClose ("");    # Don't save
  145.  
  146.     ########################################################################
  147.     print "Waiting for session to close\n";
  148.  
  149.     do {
  150.         ($err, $signal) = HostSignalWait (0x7fffffff);
  151.         if ($err)
  152.         {
  153.             HostSignalResume ();
  154.             die "Error $err while waiting for hostSignalSessionStopped";
  155.         }
  156.     } while ($signal != hostSignalSessionStopped);
  157.  
  158.     ########################################################################
  159.     print "Creating session\n";
  160.  
  161.     $err = HostSessionCreate ("PalmIII", 1024, "C:\\ROMs\\spp\\rom30dbg.rom");
  162.  
  163.     ########################################################################
  164.     print "Waiting for session to start\n";
  165.  
  166.     do {
  167.         ($err, $signal) = HostSignalWait (0x7fffffff);
  168.         if ($err)
  169.         {
  170.             HostSignalResume ();
  171.             die "Error $err while waiting for hostSignalSessionStarted";
  172.         }
  173.     } while ($signal != hostSignalSessionStarted);
  174.  
  175.     ########################################################################
  176.     print "Closing session\n";
  177.  
  178.     $err = HostSessionClose ("");    # Don't save
  179.  
  180.     ########################################################################
  181.     print "Waiting for session to close\n";
  182.  
  183.     do {
  184.         ($err, $signal) = HostSignalWait (0x7fffffff);
  185.         if ($err)
  186.         {
  187.             HostSignalResume ();
  188.             die "Error $err while waiting for hostSignalSessionStopped";
  189.         }
  190.     } while ($signal != hostSignalSessionStopped);
  191.  
  192.     ########################################################################
  193.  
  194.     HostSignalResume ();
  195.     print "Done!\n";
  196. }
  197.  
  198. if (0)
  199. {
  200.     $addr = MemPtrNew (100);
  201.     printf ("0x%08X\n", $addr);
  202.     EmRPC::WriteBlock ($addr, "1234567890");
  203.     $str = EmRPC::ReadBlock ($addr, 10);
  204.     print $str, "\n";
  205.     MemPtrFree ($addr);
  206. }
  207.  
  208. if (0)
  209. {
  210.     TapPen (100, 100);
  211. }
  212.  
  213. if (0)
  214. {
  215.     $vers = HostGetHostVersion ();
  216.     printf ("HostGetHostVersion() = 0x%08X\n", $vers);
  217. }
  218.  
  219. if (0)
  220. {
  221.     $num = DmNumDatabases (0);
  222.     print "DmNumDatabases(0) = ", $num, "\n";
  223.  
  224.     $localID = DmFindDatabase (0, "MemoDB");
  225.     printf ("DmFindDatabase(0, \"MemoDB\") = 0x%08X\n", $localID);
  226.  
  227.     ($err, %results) = DmDatabaseInfo (0, $localID);
  228.     printf ("DmDatabaseInfo(0, 0x%08X) = 0x%08X\n", $localID, $err);
  229.     print ("results: \n");
  230.     print ("\tname = ", $results{name}, "\n");
  231.     print ("\tattributes = ", $results{attributes}, "\n");
  232.     print ("\tversion = ", $results{version}, "\n");
  233.     print ("\tcrDate = ", $results{crDate}, "\n");
  234.     print ("\tmodDate = ", $results{modDate}, "\n");
  235.     print ("\tbckUpDate = ", $results{bckUpDate}, "\n");
  236.     print ("\tmodNum = ", $results{modNum}, "\n");
  237.     print ("\tappInfoID = ", $results{appInfoID}, "\n");
  238.     print ("\tsortInfoID = ", $results{sortInfoID}, "\n");
  239.     print ("\ttype = ", $results{type}, "\n");
  240.     print ("\tcreator = ", $results{creator}, "\n");
  241. }
  242.  
  243. if (0)
  244. {
  245.     $block = EmRPC::ReadBlock (0, 256);
  246.     EmRPC::PrintString ($block);
  247. }
  248.  
  249. if (0)
  250. {
  251.     my ($form) = FrmGetActiveForm();
  252.     my ($num_objects) = FrmGetNumberOfObjects($form);
  253.  
  254.     for $ii (0..$num_objects - 1)
  255.     {
  256.         my ($line) = "$ii. ";
  257.         my ($object_type) = FrmGetObjectType($form, $ii);
  258.  
  259.         my ($type) = ("frmFieldObj", "frmControlObj", "frmListObj", "frmTableObj",
  260.                       "frmBitmapObj", "frmLineObj", "frmFrameObj", "frmRectangleObj",
  261.                       "frmLabelObj", "frmTitleObj", "frmPopupObj", "frmGraffitiStateObj",
  262.                       "frmGadgetObj", "frmScrollBarObj")[$object_type];
  263.  
  264.         $line .= " $type";
  265.  
  266.         if ($object_type == frmControlObj)
  267.         {
  268.             my ($obj_ptr) = FrmGetObjectPtr ($form, $ii);
  269.             my ($address, $label) = CtlGetLabel($obj_ptr);
  270.             $line .= " \"$label\"";
  271.         }
  272.         elsif ($object_type == frmLabelObj)
  273.         {
  274.             my ($label_id) = FrmGetObjectId ($form, $ii);
  275.             my ($address, $label) = FrmGetLabel($form, $label_id);
  276.             $line .= " \"$label\"";
  277.         }
  278.         elsif ($object_type == frmTitleObj)
  279.         {
  280.             my ($address, $title) = FrmGetTitle($form,);
  281.             $line .= " \"$title\"";
  282.         }
  283.         else
  284.         {
  285.             $line .= " <no label>";
  286.         }
  287.  
  288.         my (%bounds) = FrmGetObjectBounds($form, $ii);
  289.         $line .= " ($bounds{left}, $bounds{top}, $bounds{right}, $bounds{bottom})";
  290.  
  291.         print "$line\n";
  292.     }
  293. }
  294.  
  295. if (0)
  296. {
  297.     $err = HostSessionClose ("");
  298.     printf ("HostSessionClose() = 0x%08X\n", $err);
  299.  
  300.     $err = HostSessionQuit ();
  301.     printf ("HostSessionQuit() = 0x%08X\n", $err);
  302. }
  303.  
  304. if (0)
  305. {
  306.     HostGremlinNew (0, 3, 0, -1, 10000, "Memo Pad") == 0 || die "HostGremlinNew failed, stopped";
  307. }
  308.  
  309. EmRPC::CloseConnection();
  310.  
  311.  
  312.  
  313.